// 引入事件核心库
// let events = require("events");

// // 新增事件对象
// let myEmitter = new events.EventEmitter();

// // 绑定事件监听函数 someEvent: 事件名称
// myEmitter.on("someEvent", function (message) {
//     console.log(message);
// })

// // 手动触发事件
// myEmitter.emit("someEvent", "手动触发事件");

let events = require("events");
// 是一个工具库
let util = require("util");

// function Person(name) {
//     this.name = name;   
// }
h
// // util.inherits(子类， 父类)； 实现子类可以继承父类
//  util.inherits(Person, events.EventEmitter);

// 用 ES6 的语法
class Person extends events.EventEmitter {
    constructor (name) {
        super();
        this.name = name;   
    }
}

let xiaoming = new Person("xiaoming");
let lucy = new Person("lucy");

let person = [xiaoming, lucy];
person.forEach(function (person) {
    person.on("say",(message) => {
        console.log(person.name + " say: " + message);            
    }) 
});

xiaoming.emit("say", "hi");
lucy.emit("say","hello");
